home *** CD-ROM | disk | FTP | other *** search
/ Video Toaster 4.0 / Video Toaster v4.0.iso / programs / documentation / tpaintarexx.doc < prev    next >
Text File  |  1995-01-23  |  20KB  |  568 lines

  1. ToasterPaint ARexx Interface  1/95
  2.  
  3. Command Summary
  4.  
  5. In general, there are 4 groupings of action codes:  mouse, menu, button,
  6. and 'other' - codes that have no direct 'normal intuition interface'
  7. counterpart:
  8.  
  9. Mouse action codes are:
  10.  
  11.     Move x y
  12.     Pend x y  (pen down)
  13.     Penu x y  (pen up)
  14.  
  15. These work exactly as if the mouse (normal) pointer initiated the action. 
  16.  
  17. Some of the more common button action codes are:
  18.  
  19.         Undo; performs an undo operation
  20.         Scis; goes into scissors/cut-out-a-brush mode (Pend, Move and Penu action
  21.         codes actually do the cut)
  22.         Redo; does a 'repeat' or 'again'-type operation
  23.         Prgb r g b; sets the paint color, 4-bit RGB values
  24.         8rgb r g b; sets the paint color, 8-bit RGB values
  25.         Drre; draw rectangles" mode
  26.         Drci; "draw circles" mode
  27.         Dotb; "dotty (vs. smooth) brush" mode
  28.  
  29. More Action Code Notes
  30.  
  31. "Rdit" and "Dith" action codes:  setup the dither modes.  Dither only
  32. applies to Preview encoding.  (Current printer drivers only allow for 4
  33. bits per r,g,b color component.) ToasterPaint uses "random" dither by
  34. default.  The "Ugad" action code updates the user gadget display.  Many
  35. options can be set (or toggled) before forcing the display to update.  The
  36. display is not updated if there are any messages pending, which is the
  37. usual case with ARexx, so the "Ugad" code offers a way to update the
  38. display under "programmer control".
  39.  
  40. When using the file requester from ARexx, filenames and directory names are
  41. set up with the "Dnam" and "Fnam" action codes (messages).  Directories are
  42. actually "cd"d to when the "Dsel" action code is received.  The "Okls"
  43. action code acts like the "load/save,rgb/framestore/brush" button on the
  44. upper right side of the file requester.  It is used to actually begin the
  45. file loading or saving operation.
  46.  
  47. ** NEWS FLASH: By popular demand *NEW AND IMPROVED* ARexx commands for
  48. loading RGB/FS files and saving RGB files!
  49. These commands bypass the file requestors alltogether.  
  50. If for some reason(bad path, non-exesistants) the file can't be loaded error 5
  51. will be return via ARexx's RC. 
  52.  
  53. Asav    {pathandfilename}     ;Save current image as an RGB file.
  54. Aloa    {pathandfilename}    ;Atemps to load the file.
  55.  
  56. NOTE ON RETURN CODES:
  57. ToasterPaint now returns results from ARexx commands.
  58. Rember to use "options results" in your new scripts. Error conditions will 
  59. return a 5 or 10 in RC. Sucess RC = 0 will return a value if applicable 
  60. in Result.  
  61.  
  62. Other NEW commands
  63. ------------------
  64. Abou     ;About Tpaint
  65. Iclp     ;Make the Icon and add it to the current out clip.
  66. Rswp     ;Swap range ends
  67. Askf     Buttontext          ;Ask with file requestor
  68. Asku      line1;line2;defalult_text 
  69.     (uses the semicolon as a separator between arguments.)
  70.     Ask user for a string. (RequestorTitle Prompt)
  71. Askb     line1;line2           
  72.     (uses semicolon as a separator between arguments.)
  73.     Ask user for a yes/no answer. (line1 line2)
  74. Snfd     ;Skip next field in flyer input clip
  75. Gnfm     ;Get next frame from flyer in clip
  76. Gnfd     ;Get next field from flyer in clip
  77. Apfc     ;Add field to flyer out clip
  78. Lfd1     ;Grab field 1 of TC01 from Clip
  79. Lfd2     ;Grab Field 2 of TC01 from Clip
  80. LfdB     ;Grab Both Field 1&2 of TC01 from Clip
  81. Sacp     ;brings up file req to select save clip
  82. Loai     ;brings up file req to Load an alpha image
  83. Safa     ;brings up file req to Save Framestore with Alpha
  84. Sa8a     ;brings up file req to Save 8 bit alpha alone.
  85. Sa4a     ;brings up file req to Save 4 bit alpha alone.
  86. TC01     ;Setup TC for loadclip
  87. TC02     ;Setup TC for Beg of process range
  88. TC03     ;Setup TC for End of process range
  89. Slcp     ;brings up file req to select load clip
  90. Tprx     ;Toasterpaint rexx image processing startup.
  91. Cprx     ;Toasterpaint rexx image processing startup for clips.
  92. Gpat     ;Setup default paths by reading default paths file.
  93. Alph     ;Alpha paint mode Togle.
  94. Olin     ;Toggle outline text mode
  95. ABRU     ;AirBrush on
  96. Trns     ;AirBrush tranporter mode
  97. STEN     ;Toggle Stencil mode on/off
  98. STOF     ;Stencel off
  99. STPO     ;Stencel on positive
  100. STNE     ;Stencel on Negtive
  101. STNP     ;Stencil negative positive
  102. Proc     ;Change to Image Processor control screen
  103. Sopt     ;Change to option control screen
  104. Figm    ;Mode Global fill toggle
  105. Fgon    ;Mode Global fill on
  106. Fgof    ;Mode Global fill off
  107.  
  108.  
  109.  
  110.  
  111. Action  Code List
  112. -----------------
  113. 8rgb       paint color, 8 bit numbers, set bright white with "8rgb 255 255 255"
  114. Aali       anti-alias toggle
  115. Aaof       anti-alias OFF
  116. Aaon       anti-alias ON
  117. Al24       alloc 24-bit
  118. Aoff       all modes off
  119. Arof       always render - off
  120. Aron       always render - on
  121. Aroo       always render mode toggle
  122.  
  123. Babx       back box gadget, moves screens to back of display
  124. Bcmo       brush color mode toggle
  125. Bcop       copy brush
  126. Bdel       delete brush
  127. Blur       blur effect
  128. Blu2       blur effect, mode 2, "heavier blur"
  129. Boot       performs "keyboard file" "boot" codes
  130. Bres       restore brush
  131. Brgb       r,g,b background
  132. Brt2       - standard brush type
  133. Brt3       | brush
  134. Brt4       \ brush
  135. Brt5       / brush
  136. Brt6       "squares"
  137. Brt7       "circles"
  138. Bsmf       "filled in freehand"...flood on, bsmooth...
  139. Bsmo       "smooth-connected" std brush (vs. dotty-disconnected)
  140. Bswa       swap the "swap brush"
  141. Bsz1       standard brush size select
  142. Bsz2       brush size 1
  143. Bsz3       brush size 2
  144. Bsz4       brush size 3
  145. Bsz5       brush size 4 
  146. Bsz6       brush size 5
  147. Bsz7       brush size 6
  148. Bszl       brush size, one larger
  149. Bszs       brush size, one smaller
  150. Btog       brush shape toggle,flips btwn brush shapes
  151. Bwpa       black and white palette for Preview
  152.  
  153. Cbx0       color box 0, palette color select    /*obsolete*/
  154. Cbx1       color 1                    /*obsolete*/
  155. Cbx2       color 2                    /*obsolete*/
  156. Cbx3       color 3                    /*obsolete*/    
  157. Cbx4       color 4                    /*obsolete*/    
  158. Cbx5       color 5                    /*obsolete*/
  159. Cbx6       color 6                    /*obsolete*/
  160. Cbx7       color 7                    /*obsolete*/
  161. Cbx8       color 8                    /*obsolete*/
  162. Cbx9       color 9                    /*obsolete*/
  163. Cbxa       color 10                /*obsolete*/
  164. Cbxb       color 11                /*obsolete*/
  165. Cbxc       color 12                /*obsolete*/
  166. Cbxd       color 13                /*obsolete*/
  167. Cbxe       color 14                /*obsolete*/
  168. Cbxf       color 15(last "real" palette color)    /*obsolete*/
  169. Cbxg       'current/front/ color, left range color    /*obsolete*/
  170. Cbxh       'background/shadow' color, right range color    /*obsolete*/
  171. Cbxi       PAINT color (de-selects range front/back color)         /*obsolete*/
  172. Clbx       escape button, hires closebox
  173. Clrs       CLeaR Screen
  174. Coof       coords off
  175. Coon       coords on
  176. Coor       toggles coord flag
  177. Cpic       Copy picture to swap screen
  178. Ctrl       control tools/sliders on/off        /*obsolete*/
  179.  
  180. Dela       delay on bottom of screen, before scroll    /*obsolete*/
  181. Delo       delay off                    /*obsolete*/
  182. Depa       default palette                    /*obsolete*/
  183. Dflt       load default files keyboard.txt and gadget.pic  /*obsolete*/
  184. Dir0       df0: directory selection for file requester    /*obsolete*/
  185. Dir1       df1: directory selection for file requester    /*obsolete*/
  186. Dir2       df2: directory selection for file requester    /*obsolete*/
  187. Dir3    RAM: directory selection for file reqeuster    /*obsolete*/
  188. Dir4    dh0: directory selection for file requester    /*obsolete*/
  189. Dirp       "/"  parent directory selection for file requester    /*obsolete*/
  190. Dirr       ":"  root directory selection for file requester    /*obsolete*/
  191. Dith       matrix dither toggle                    /*obsolete*/
  192. Dlva     DeLiVer" a line of ASCII rgb's to ToasterPaint {n,line#,n(r g b)}  all 
  193.     parameters are ascii, for example, " 320  10   60 20 180 ..."        " #pts 
  194.             line#   60=1st red valu 120=green 180=blue"
  195. Dlvb       "DeLiVer" a line of BINARY rgb's to ToasterPaint         
  196.                 {n,line#,n(r.w,g.w,b.w)}
  197. Dnam       dirname string
  198. Dotb       single dot brush
  199. Doty       dotty brush (vs. 'smooth')
  200. Drar       ellipse
  201. Drci       circle
  202. Drln       line mode
  203. Drre       rectangle
  204. Drrf       filled rectangles (1x mode tools)
  205. Dsel       directory selection
  206. Dswa       Delete swap screen
  207.  
  208. Endm       end magnify mode
  209. Exec    Execute an AmigaDOS command
  210.  
  211. Fa24       fail/quit if not in 24 bit rgb mode
  212. Fbof       framestore load, left/rightside pixel blacken, - off    /*obsolete*/
  213. Fbon       framestore load, left/rightside pixel blacken, - on    /*obsolete*/
  214. Fboo       framestore load, left/rightside pixel blacken, mode toggle    /*obsolete*/
  215. Film       fill mode toggle
  216. Fiof       fill mode off
  217. Fion       fill mode on
  218. Flix       Brush flip horizontal
  219. Fliy       Brush flip vertical
  220. Flof       Flood off
  221. Flon       Flood on
  222. Floo       Flood on/off
  223. Flpx       any flip horizontal
  224. Flpy       any flip vertical
  225. Fnam       filename string
  226. Font       Load Font file requester
  227. Frbx       front box gadget
  228. Fsel       file selection
  229. Fu24       fail/quit if rgb mode, but no undo buffer
  230.  
  231. Grmo       grid mouse - use mouse to specify a 2 endpoints (rectangle)
  232. Grof       grid off
  233. Gron       grid-lock on
  234. Grst       ## ## grid start x,y (upper left corner)
  235. Grto       grid toggle on-off.
  236. Grxy       ## ## grid size x, y
  237. Gxdn       Grid X decrement
  238. Gxup       Grid X 'up' - increment
  239. Gxva       Grid X value 16 bit
  240. Gydn       Grid Y decrement
  241. Gyup       Grid Y 'up' - incr
  242. Gyva       Grid y value 16 bit
  243.  
  244. Harr       toggle 1 way horizontal blend
  245. Hvar       toggle button, 2 way h/v blend
  246. Hvof       set 2 way blend gadget OFF
  247. Hvsh       2 way gadget (blending) imagery reset
  248. Hvst       2 way gadget (TxMap) imagery reset
  249.  
  250. Ke24       keep 24 bit buffers in between "selects" (from switcher)
  251. Ksdn       down arrow scroll
  252. Kslt       left arrow scroll
  253. Ksrt       right arrow scroll
  254. Ksup      up arrow scroll
  255.  
  256. Lo24      Load RGB file requester
  257. Load       call up load requester (for file, or brush, or font)
  258. Lobr       Load Brush file requester
  259. Loco       load-composite - uses switcher/framestore directory for default
  260.  
  261. Magn       magnify gadget
  262. Maxc       max buttons for blend center
  263. Maxe       max for blend Edge
  264. Maxw       max for TxMap amt
  265. Meof       memory display - off
  266. Meon       memory display - on
  267. Meoo       memory display mode toggle
  268. Midc       middle setting for blend center
  269. Mide       middle setting for blend Edge
  270. Midw       middle setting for TxMap amt
  271. Minc       min buttons for blend center
  272. Mine       min for blend Edge
  273. Minw       min for TxMap amt
  274. Move       x,y position
  275. Mswa       Merge swap screen
  276.  
  277. Noef       no effect, turn off all effects
  278.  
  279. Okls       ok load/save button
  280.  
  281. Pale       turn on/off PALETTE tools
  282. Pcca       print - cancel
  283. Pcfe       print - "fewer" copies
  284. Pcmo       print - "more" copies
  285. Pcok       print - ok button; initiate printing
  286. Pend       x,y pen down, big pic assumed
  287. Penu       x,y pen up
  288. Pick       turn on/off pick mode
  289. Pixy       pick from x,y (in message - remote/arexx only)
  290. Pmad       paint mode - add
  291. Pman       paint mode - and
  292. Pmcl       paint mode - clear (normal)
  293. Pmco       paint mode - colorize
  294. Pmdn       paint mode - darken
  295. Pmln       paint mode - lighten
  296. Pmor       paint mode - or
  297. Pmso       paint mode - solid/normal
  298. Pmsu       paint mode - subtract
  299. Pmxo       paint mode - xor
  300. Pot0       center blend slider setting pot 
  301. Pot1       edge blend slider setting pot
  302. Pot5       TxMap amt, slider setting
  303. Poth       shade hor pos, blend hotspot
  304. Potv       shade ver pos, blend hotspot
  305. Prfl       prop gadget for scrolling file/dir names,on file requester
  306. Prgb       r,g,b paint (4 bit/Preview mode colors)            /*obsolete*/
  307. Prin       Print requester
  308. Pro0       refresh blend sliders
  309. Pro1       prop routines, handle 'auto increment by one'
  310. Pro5       TxMap amt prop
  311. Pund       Palette Undo                        /*obsolete*/
  312.  
  313. Quia       Quit - but ask with requester
  314. Quit       Quit - return to switcher without unloading
  315.     
  316. Rang       range mode immediate, combo w/other paint modes
  317. Rdit       flip random dither                    /*obsolete*/
  318. Redo       again/redo button
  319. Rema       Remap to new palette
  320. Rotm       Brush rotation MINUS 90 degrees (counter-clock)
  321. Rotp       Brush rotation PLUS 90 degrees
  322. Rubi       simple rub thru on
  323. Rubt       rub thru paint mode
  324.  
  325. Sa24       save 24-bit
  326. Sabr       Save Brush
  327. Saco       save-composite - render toaster-24 bit to a frame-store file
  328. Sbru       source - brush image instead of paint color
  329. Scis       scissors/cut gadget
  330. Scof       scroll lock - off
  331. Scon       scroll lock - on
  332. Scoo       scroll lock mode toggle
  333. Shar       toggle 1 way horizontal
  334. Shcf       show composite OFF
  335. Shco       show composite
  336. Shof       shift off, for   locking rectangle->swap brush aspect ratio
  337. Shon       shift on, for un-locking rectangle->swap brush aspect ratio
  338. Shoo       show overscan                        /*obsolete*/
  339. Shva       toggle button, 2 way h/v TxMap mode
  340. Sizi       TxMap/sizing effect
  341. Snap       'snap centered view'...keeps toaster hires pic centered    /*obsolete*/
  342. Snof       snap off                        /*obsolete*/
  343. Spoh       hor pos - TxMap hotspot
  344. Spov       ver pos - 2 way TxMap hotspot
  345. Squt       ~ keyboard...super-quit...asks switcher for "unload from memory"
  346. Srgb       source - rgb color instead of brush image (default)
  347. Svar       toggle vertical TxMap mode
  348. Swap       swap screens menu option
  349.  
  350. Tbbo       text button bold
  351. Tbit       text button italic                    /*obsolete*/
  352. Tbun       text button underline                    /*obsolete*/
  353. Tdv1       toaster dv1 (1st frame buffer)
  354. Tdv2       toaster dv2 (2nd frame buffer)
  355. Tgof       toaster gadgets off (no render button)            /*obsolete*/
  356. Tgon       toaster-type gadget handling (default)            /*obsolete*/
  357. Toof       1x mode off
  358. Toon       x mode on...this is for "hires display"            /*obsolete*/
  359. Tran       transparent on/off (menu item)
  360. Trgb       r,g,b transparent
  361. Trof       transparent background color off
  362. Tron       transparent background color on
  363. Tstr       text string gadget
  364. Ttog       blend 2-way direction toggle
  365. Tvar       data for text string (ascii)
  366. Txbt       text tools select
  367. Txdn       Tile X value, decrement
  368. Txma       txmap mode immediate
  369. Txup       Tile X 'up' - increment
  370. Txva       Tile X value 16 bit << 4 (in increments of 1/16)
  371. Tydn       Tile Y value - decrement
  372. Tyup       Tile Y 'up' - increment
  373. Tyva       Tile y value 16 bit << 4 (in increments of 1/16)
  374.  
  375. Ugad       redo user gadget (hires+hamtools) display, waits for rendering to finish
  376. Undo       undo button
  377.  
  378. Varr       toggle vertical blend
  379. Vwco       view composite - render to Toaster
  380.  
  381. Warp       (INTERNAL only) simple turn on TxMap
  382. Wexp       whole screen expand...go "zoom", non-interlace, superbitmap
  383. Wham       whole Preview screen re-do (from rgb data), re-displays entire Preview 
  384.     image
  385. Whoo       whole screen toggle (1x/2x button's action code)
  386. Wshr       whole screen shrink...go skinnier, interlace        /*obsolete*/    
  387. Wtog       TxMap 2-way direction toggle
  388.  
  389.  
  390. ToasterPaint acts as a 'server' with regards to ARexx.  ToasterPaint will
  391. not issue calls to ARexx, since it doesn't have a "macro" capability.
  392. Therefore all ARexx applications need to be run from 'outside' ToasterPaint
  393. (e.g.  from a CLI).  The ARexx program should include the statement
  394. "address DigiPaint".  However, the action code "Exec", which simply calls
  395. the AmigaDos execute function, can be used to start up macros by including
  396. the AmigaDos "run" command.
  397.  
  398. Example -
  399.  
  400. ?    Exec run rx test.rexx
  401.  
  402. or
  403.  
  404. ?    Exec run execute dostest.txt
  405.  
  406. The KEYBOARD FILE is named "ToasterPaint_Startup/keyboard.txt".  It is a
  407. simple (edit-able) ascii file.  Each line contains a "raw key code", a
  408. blank (space character), and an action code to occur when the key is
  409. pressed.  Multiple lines (actions) can be "tied" to each key by having more
  410. than one line per key in the keyboard shortcut file.  The action codes are
  411. processed in the order that they appear in the file.Note that the action
  412. codes for the ARROW KEYS are somewhat tied to the real-time Control Panel:
  413. they either move the screen, or they move the magnify view, depending on
  414. the mouse position.  The keyboard shortcut file also contains another type
  415. of entry:  "BOOT" codes.  The are two "BOOT" code classes, "BOOT" and
  416. "Boot".  "BOOT" codes only "happen" once, as the program is starting,
  417. before any screens are opened.  They're used primarily to setup default
  418. conditions.  "Boot" codes occur after the screens are opened, and every
  419. time the program is re-entered from the switcher.
  420.  
  421.  
  422.  
  423. Examples - File Requester, Font Loading, Making Text Brushes, Painting
  424. These examples can be executed as CLI/Shell command files.  Place the code
  425. in a file named "testcode".  Then use the AmigaDOS command "execute
  426. testcode".  Outline, with 1 pixel, a rectangle from 50,49 to 100,99
  427.  
  428. ?    hey DigiPaint Drre
  429. ?    hey DigiPaint Dotb
  430. ?    hey DigiPaint 8rgb 160 160 160
  431. ?    hey DigiPaint Pend 50 49
  432. ?    hey DigiPaint Penu 100 99
  433.  
  434. Load a file named "DEF" from disk named "ABC:"
  435.  
  436. ?    hey DigiPaint Load
  437. ?    hey DigiPaint DnamABC:
  438. ?    hey DigiPaint Dsel
  439. ?    hey DigiPaint FnamDEF
  440. ?    hey DigiPaint Okls; load font from file named "FONTS:TOPAZ/11"
  441. ?    hey DigiPaint Font
  442. ?    hey DigiPaint Dnam FONTS:TOPAZ
  443. ?    hey DigiPaint Dsel
  444. ?    hey DigiPaint Fnam11
  445. ?    hey DigiPaint Okls
  446. ?    hey DigiPaint Clbx
  447.  
  448. Put "dropshadow"ed text on picture;...by making a dark gray brush, pasting
  449. it, then doing same with light gray.
  450.  
  451. ?    hey DigiPaint 8rgb 80 80 80
  452. ?    hey DigiPaint TvarHello
  453. ?    hey DigiPaint Tstr
  454. ?    hey DigiPaint Pend 100 99
  455. ?    hey DigiPaint 8rgb 160 160 160
  456. ?    hey DigiPaint Tstr
  457. ?    hey DigiPaint Pend 98 97
  458.  
  459. ToasterPaint, being a true 24 bit rgb paint program, operates on every
  460. pixel with (more than) 24 bit resolution.  Each red, green and blue
  461. component is treated as an 8 bit quantity, with an additional 8 bits used
  462. for blending.  ToasterPaint can be used as a rendering utility.  External
  463. programs can generate 24-bit rgb data and send the data into ToasterPaint's
  464. buffers.  The data can then be saved as rgb files, framestores, rendered to
  465. a Toaster frame buffer, or otherwise processed.  The "Dlvb" action code
  466. (explained further on in this section) is used for this.
  467.  
  468. The following examples are given in the format used for rexx scripts.
  469. DRAWING LINES
  470. Instead of the 'Drln' mode, it's best to use the "Bsmo" (connected
  471. brushstroke) mode in order to draw lines.  Instead of
  472.   'Drln'
  473.   'Pend' 50 50
  474.   'Penu' 100 100
  475. it's better to use
  476.   'Bsmo'
  477.   'Pend' 50 50
  478.   'Penu' 100 100
  479. The ('Bsmo') "be smooth"/connected brushstroke mode will paint all of the
  480. in-between positions, bt drawing a line between the starting ('Pend') and
  481. ending ('Penu') brush positions.  'Drln' is fairly unusable from ARexx.
  482. It's only available from ARexx for the sake of 'logical completeness'.
  483.  
  484. FRAMESTORE SAVE FILENAMES
  485.  
  486. The (minimal) "correct" way to save a framestore is with the following action codes:
  487.     'Saco'
  488.     'Fnam123.FS.Test'
  489.     'Okls'
  490.  
  491. Note that the filename *must* be prefixed with "###.FS." if the switcher is
  492. to recognize this framestore file.  If you do not include this string at
  493. the beginning of a framestore filename, then the switcher will not be able
  494. to load the file (although ToasterPaint still can).  Also, be sure not to
  495. use duplicate frame numbers because the switcher will only recognize 1
  496. framestore file per frame number.
  497.  
  498. PAINT COLOR
  499.  
  500. "Prgb"/DigiPaint(old) is for setting up a 12 bit paint color.
  501. "8rgb"/ToasterPaint   is for setting up a 24 bit paint color.
  502. For "Prgb r g b", each r,g,b value is a  4 bit number (0-15  range).
  503. For "8rgb r g b", each r,g,b value is an 8 bit number (0-255 range).
  504.  
  505.  
  506. SCANLINE INTERFACE
  507.  
  508. The 'Dlva' and 'Dlvb' action codes (commands) are similar.
  509. 'Dlvb' takes binary numbers (UWORDs) as parameters.
  510. 'Dlva' takes ascii (normal string) arguments.
  511. 'Dlva' is somewhat slower because of the ascii->binary (internal) conversion.  It's format
  512. is:
  513.    Dlva #pixels line# r g b r g b r g b r g b r g b ... r g b
  514.  
  515. 'Dlvb' was designed to be a quick machine language interface for scan line
  516. rendering.  (DigiView4 uses this exact same command to send it's image into
  517. DigiPaint's "buffer".  DigiView and DigiPaint are two other NewTek
  518. products.) The 'Dlvb' format looks something like:
  519.   ULONG  'Dlvb'
  520.   UWORD  nbr_pixels
  521.   UWORD  line_nbr
  522.   UWORD  red_0
  523.   UWORD  green_0
  524.   UWORD  blue_0
  525.    --- "many" groups of red,green,blue values, 1 group per pixel
  526.   UWORD  red_n
  527.   UWORD  green_n
  528.   UWORD  blue_n
  529.  
  530. Remember, the "r g b" numbers are 10bit values (range of 0-1023).  (Bright
  531. white's rgb data would be "1023 1023 1023", not "15 15 15".)
  532.  
  533. Here's an example program...
  534. ---
  535. /* "Dlva" test program, Arexx to DigiPaint interface ***************/
  536.  
  537. address 'DigiPaint' /* host name */
  538.  
  539. nlines = 128 /* # of lines to display */
  540. row = 20     /* (starting) line #, used by the 'Dlva' message */
  541. gray = 0
  542.  
  543. do nlines    /* for each of 128 lines */
  544.  
  545.              /* setup r,g,b values for current lines */
  546.   r = gray
  547.   g = gray
  548.   b = gray
  549.  
  550.              /* setup 32 pixels on this row */
  551.   msg$ = ''
  552.   do 32
  553.      msg$ = msg$ r g b
  554.   end
  555.  
  556.              /* setup 320 pixels = 10 groups of 32 pixels */
  557.   msg$ =  msg$ msg$ msg$ msg$ msg$ msg$ msg$ msg$ msg$ msg$
  558.  
  559.              /* send 'Dlva' msg to DigiPaint/ToasterPaint */
  560.  'Dlva' '320' row msg$
  561.  
  562. gray = gray + 1024/nlines  /* rgb values range from 0..1023 */
  563. row = row + 1              /* used by the 'Dlva' message */
  564. end                        /* 128 lines of 'gray' */
  565.  
  566. return
  567. /************************* end of program **************************/
  568.